home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
8bit
/
cislib_a
/
gr9pwd.act
< prev
next >
Wrap
Text File
|
1995-04-22
|
2KB
|
81 lines
; *** Graphics 9 Picture Printer
; *** for Prowriter printers.
;
; Files MUST be uncompressed (most are)
; resulting in 7680 bytes or 62 SD sectors long.
;
; written by Joe McFarland 8/31/86.
; address questions to CIS #74666,601
;
; Action! language is (c) 1983 Action Computer Services
;
MODULE
BYTE x,y,dat,half,v,ty
CARD screen=88
BYTE POINTER sloc
CHAR ARRAY printfile(15)
PROC GetScreen()
PutE()
PrintE("Graphic 9 Screen to print")
PrintE(">Dn:FILENAME.EXT")
Print(">")
InputS(printfile)
Close(1)
Open(1,printfile,4,0)
Graphics(9)
FOR sloc=screen TO screen+7679
DO
sloc^=GetD(1)
OD
Close(1)
RETURN
PROC Dump()
;These are the color masks, 4 per Gr.9 color.
BYTE ARRAY template=[255 255 255 255 255 255 247 255 255 223 255 251 255 238 255 187
255 85 255 170 221 119 221 119 170 85 170 85 204 51 204 51
102 51 102 51 34 136 34 136 0 85 0 85 0 51 0 51
0 17 0 68 0 32 0 4 0 0 8 0 0 0 0 0]
GetScreen()
Close(2)
Open(2,"P:",8)
PrintDE(2,"
T16
Q
>")
FOR x=0 TO 79
DO
PrintD(2," ")
PrintD(2,"
S0768")
FOR ty=0 TO 191
DO
y=191-ty
sloc=screen+40*y+x/2
half=x MOD 2 ;which half?
v=sloc^
IF half THEN v=v&$0F
ELSE v=v RSH 4 FI ;shift color if odd
FOR dat=0 TO 3
DO
PutD(2,template(v*4+dat))
OD
OD ;done printing line
PutDE(2)
OD
PrintDE(2,"
[
A
N
<") ;restore normal operation
Close(2)
Graphics(0)
PutE()
PrintF(" * Done printing %S%E",printfile)
RETURN